1. Field of the Invention
This invention generally relates to associating Internet Protocol (IP) addresses to geographic locations and more particularly to mapping IP-addresses based on precise geographic location data.
2. Description of the Related Art
Geolocation refers to the identification of a real-world geographic location of an object, such as a cellular phone, computer, or the like. Some businesses employ geolocation techniques to learn more about customers in order to provide goods, services, content, advertisements or so forth that may be of particular interest to the customers. For example, a website may employ geolocation techniques to identify the location of a person requesting to view a webpage in order to deliver webpage content that may be of particular interest to persons at that location, such as local news, local maps, local advertisements and so forth.
In the context of the Internet, geolocation involve associating the addresses of devices used to access the Internet with their locations. For example, an Internet Protocol (IP) address assigned to a computer may be associated with the geographic location of the computer. Requests that are associated with the IP-address may then be served with content that is selected based on the geographic location associated with that IP-address. In some instances, the locations of devices having given IP-addresses are determined based on an analysis of contextual information provided in user based search queries received from those devices. For example, a search query from a device with a given IP-address for “pizza Los Angeles” may be used to infer the device with that IP-address is located in Los Angeles. This technique, when employed on a large volume of data from any number of users and IP-addresses, allows the creation of a large table associating IP-addresses with locations. While the foregoing technique is useful, it is based on historical information and therefore may be inaccurate in the short term, for example, when an Internet Service Provider (ISP) dynamically re-assigns one or more of the IP-addresses in the table to devices that are in a different location. As a result, data previously collected for the given IP address may be outdated, and the determined location of a device assigned that IP-address may be inaccurate.